Advice engine systems

ABSTRACT

A method of providing advice to a user may be provided. A method may include receiving a topic from the user. The method may also include presenting one or more potential advice conversations to a human professional, wherein each potential advice conversation of the one or more potential advice conversations includes one or more advice statements. Further, the method may include selecting an advice statement from the one or more advice statements, and presenting the selected advice statement to the user upon receiving approval of the selected advice statement from the human professional.

FIELD

The embodiments discussed herein relate to advice engine systems and,more specifically, to systems including an advice engine configured tointeract with a supervising human professional for providing advice to auser.

BACKGROUND

Advice engines may provide advice, such as financial planning advice,health advice, family advice, etc., to users. More specifically, adviceengines may assist a user in completing a task and/or making a decision(e.g., deciding what type of car to purchase) via providing one or moresuggestions to the user.

The subject matter claimed herein is not limited to embodiments thatsolve any disadvantages or that operate only in environments such asthose described above. Rather, this background is only provided toillustrate one example technology area where some embodiments describedherein may be practiced.

SUMMARY

One or more embodiments of the present disclosure may include a methodof providing advice. The method may include receiving a topic from auser. The method may further include presenting one or more potentialadvice conversations related to the topic to a human professional,wherein each potential advice conversation of the one or more potentialadvice conversations includes one or more advice statements. Inaddition, the method may include selecting an advice statement from theone or more advice statements and presenting the selected advicestatement to the user upon receiving approval of the advice statementfrom the professional.

The object and advantages of the embodiments will be realized andachieved at least by the elements, features, and combinationsparticularly pointed out in the claims. Both the foregoing generaldescription and the following detailed description are exemplary andexplanatory and are not restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments will be described and explained with additionalspecificity and detail through the use of the accompanying drawings inwhich:

FIG. 1 illustrates an example system including an advice engine and ahuman professional;

FIG. 2 is a diagram of an example flow that may be used to operate anadvice engine system;

FIG. 3 depicts an example conversation tree;

FIG. 4 depicts another example conversation tree;

FIG. 5 illustrates an example system including various modules of anexample advice engine system;

FIG. 6 illustrates an example conversation tree;

FIG. 7A depicts another example conversation tree;

FIG. 7B depicts an edited example conversation tree;

FIG. 7C depicts an example advice conversation;

FIG. 8A illustrates an example conversation tree;

FIG. 8B illustrates an edited example conversation tree;

FIG. 8C illustrates an example conversation tree;

FIG. 9 is a flowchart of an example method of selecting an advicestatement;

FIG. 10 depicts yet another example conversation tree; and

FIG. 11 is a block diagram of an example computing device.

DESCRIPTION OF EMBODIMENTS

Various embodiments disclosed herein relate to advice engine systemsconfigured to provide efficient and human-like advice to users. Theadvice engine system, which may include an advice engine and a human(e.g., professional and/or expert) may provide advice via one or moreadvice conversations (e.g., tree form advice conversations).

More specifically, according to various embodiments, an advice enginemay be semi-supervised by a human professional, who may edit and/or addone or more advice conversations dynamically to a conversation tree(e.g., to improve the quality of content). Depending on the context, ahuman professional, who may support multiple advice conversations at thesame time, may provide more efficient advice compared to a machine(e.g., an advice engine).

According to some embodiments, advice may include a recommendation givenas a guide toward reaching a goal. For example, advice may be providedfor various subjects and/or issues, such as issues that users may facein everyday life and/or issues where users may trust the opinion of thecrowd (e.g., best bank to get a loan). Further, advice may be providedas a recommendation to a user to help the user reach a goal (e.g.,losing weight).

In some embodiments, application of an advice engine system may berestricted to cases wherein the scope of the advice being sought is notdramatically unbound. For example, a subject such as “how can I breakthe cycle of poverty in the world?” may not be covered. Further, aquestion such as “what is life?” may not be covered since the questiondoes not seek a recommendation.

Embodiments of the present disclosure are now explained with referenceto the accompanying drawings.

FIG. 1 depicts a system 100 including an advice engine 102, a human 104,and a user 106. For example, human 104 may include a professional and/oran expert for one or more topics. It is noted that “human 104” may alsobe referred to herein as a “professional 104,” “human professional 104,”“expert 104,” or any combination thereof.

FIG. 2 is a diagram of an example flow 200 that may be used in operatingan advice engine system, in accordance with at least one embodiment ofthe present disclosure. Flow 200 may be performed by any suitablesystem, apparatus, or device. For example, system 100 of FIG. 1 or oneor more of the components thereof may perform one or more of theoperations associated with flow 200. In these and other embodiments,program instructions stored on a computer readable medium may beexecuted to perform one or more of the operations of flow 200. Flow 200will now be described with reference to FIGS. 1 and 2.

At block 206, based on user data 202 and a topic 204 (e.g., as selectedby user 106), a determination may be made as to whether a set of allpossible advice conversations is sufficiently limited. Stated anotherway, a determination as to whether a number of possible adviceconversations is less than a threshold value. A threshold value may be afunction of the capability of the professional (e.g., human 104) and thesize of the advice conversations. For example, if a maximum number ofadvice conversation that a professional is able to revise is Y (e.g.,60). Then, the threshold value may be determined by multiplying Y by avalue X, wherein 0<X<1. The larger the size of the advice conversations,the smaller the value of X. Further, user data 202, which may bereceived from a user (e.g., user 106), may include any data specific tothe user, such as data related to the user's location, education, age,sex, income, etc.

With reference again to block 206, if a set of all possible adviceconversations set is sufficiently limited, flow 200 may proceed to block208. If the set of all possible advice conversations set is notsufficiently limited, flow 200 may proceed to block 222.

At block 208, advice engine 102 may present one or more possible adviceconversations to professional 104, and flow 200 may proceed to block210. At block 210, professional 104 may edit the advice conversions ifnecessary, and flow 200 may proceed to block 212.

At block 212, advice engine 102 may suggest an advice statement, whichis best matched for user 106, to professional 104, and flow may proceedto block 214. In one embodiment, advice engine 102 may suggest theadvice statement to professional 104 before presenting the advicestatement to user 106.

At block 214, a determination may be made as to whether professional 104confirms the suggested advice statement to be presented to user 106. Ifprofessional 104 confirms the suggested advice statement, flow 200 mayproceed to block 216. If professional 104 does not confirm the suggestedadvice statement, flow 200 may proceed to block 224, which is furtherexplained below. At block 216, the advice statement may then bepresented to user 106, and flow 200 may proceed to block 218.

At block 218, a determination may be made as to whether the advicestatement is the final advice statement in the advice conversation. Ifthe advice statement is the final advice statement in the adviceconversation, flow 200 may proceed to block 226, which is furtherexplained below. If the advice statement is not the final advicestatement in the advice conversation, flow 200 may proceed to block 220.

At block 220, user 106 may select one of the choices provided by adviceengine 102 as the answer to a question presented by the advicestatement, and flow 200 may return to block 206. It is noted that eachadvice conversation includes an advice statement, which may furtherspawn one or more additional advice conversations, each generating, yet,one or more advice statements that further spawn one or more adviceconversations, and so on.

At block 222, professional 104 may edit the advice conversations (e.g.,offline), and flow 200 may proceed to block 212. More specifically, forexample, based on suggestions provided by advice engine 102,professional 104 may dynamically edit the advice conversations.

At block 224, professional 104 may request another (e.g., the next best)advice statement and/or suggest another advice statement (e.g., added orchosen from the already existing advice statements), and flow 200 mayproceed to block 216. According to one embodiment, professional 104 maycontinue to request another (e.g., the next best) advice statement untilprofessional 104 is satisfied with an advice statement. In anotherembodiment, if professional 104, after receiving a definable number ofadvice statements (e.g., 2, 3, or 4), is still unsatisfied with thesuggested advice statement, professional 104 may suggest an advicestatement.

At block 226, user 106 may rate the advice conversation, as describedmore fully below.

Modifications, additions, or omissions may be made to the flow 200without departing from the scope of the present disclosure. For example,the operations of flow 200 may be implemented in differing order.Furthermore, the outlined operations and actions are only provided asexamples, and some of the operations and actions may be optional,combined into fewer operations and actions, or expanded into additionaloperations and actions without detracting from the essence of thedisclosed embodiments. In short, flow 200 is merely one example ofoperating an advice engine system and the present disclosure is notlimited to such.

FIG. 3 illustrates an example advice conversation tree 300. Adviceconversation tree 300 will now be described with reference to FIGS. 1and 3. Advice conversation 300, which may illustrate a practicalapplication of flow 200 of FIG. 2, includes a topic 302 of “How should Iapply for a green card?” (e.g., block 204, FIG. 2). Topic 302 may beprovided by user 106 (e.g., block 204, FIG. 2).

It may be determined whether a set of all possible advice conversationsoriginating from topic 302 is sufficiently limited in size (e.g., smallenough) (e.g., block 206, FIG. 2). Advice conversation tree 300 furtherincludes advice conversations 304A, 304B, and 304C, each of whichincluding one or more conversation paths. As noted above, adviceconversations 304A, 304B, and 304C may be presented to professional 104(e.g., block 208, FIG. 2).

Each advice conversation 304A, 304B, and 304C includes an advicestatement 306. Advice engine 102 may suggest an advice statement (advicestatement 306B in this example) to professional 104 (e.g., block 212,FIG. 2). In this example, advice statement 306B is approved byprofessional 104 and presented to user 106 (e.g., block 216, FIG. 2).User 106 may select either response 308A or response 308B. In thisexample, user 106 selected response 308A.

Based on the selection by user 106, it may be determined whether a setof all possible advice conversations is sufficiently limited in size(e.g., small enough), and advice conversations 310A and 310B may bepresented to professional 104. Each advice conversation 310A and 310Bincludes an advice statement 312. Advice engine 102 may suggest anadvice statement (advice statement 312A in this example) to professional104. In this example, advice statement 312A is approved by professional104 and presented to user 106. User 106 may select either response 314Aor response 314B. In this example, user 106 selected choice 314A.

Based on the selection by user 106, it may be determined whether a setof all possible advice conversations is sufficiently limited in size(e.g., small enough), and advice conversations 316A and 316B may bepresented to professional 104. Each advice conversation 316A and 316Bincludes an advice statement 318. Advice engine 102 may suggest anadvice statement (advice statement 318B in this example) to professional104. Further, in this example, professional 104 edits conversation tree300 by adding an additional advice statement 316C including advicestatement 318C.

FIG. 4 illustrates another example advice conversation tree 400. Adviceconversation tree 400 will now be described with reference to FIGS. 1and 4. Advice conversation 400 includes a topic 402 of “Hey! I need helpto quit having unhealthy snacks”. Topic 402 may be provided by user 106.

It may be determined whether a set of all possible advice conversationsoriginating from topic 402 is sufficiently limited in size (e.g., smallenough). Advice conversation tree 400 further includes adviceconversations 404A, 404B, and 404C, each of which including one or moreconversation paths. As noted above, advice conversations 404A, 404B, and404C may be presented to professional 104.

Each advice conversation 404A, 404B, and 404C includes an advicestatement 406. Advice engine 102 may suggest an advice statement (advicestatement 406B in this example) to professional 104. In this example,advice statement 406B is approved by professional 104 and presented touser 106. User 106 may select either response 408A, response 408B, orresponse 408C. In this example, user 106 selected response 408A.

Based on the selection by user 106, it may be determined whether a setof all possible advice conversations is sufficiently limited in size(e.g., small enough), and advice conversations 410A and 410B may bepresented to professional 104. Each advice conversation 410A and 410Bincludes an advice statement 412. Advice engine 102 may suggest anadvice statement (advice statement 412A in this example) to professional104. In this example, advice statement 412A is approved by professional104 and presented to user 106. User 106 may select either response 414Aor response 414B. In this example, user 106 selected response 414A.

Based on the selection by user 106, it may be determined whether a setof all possible advice conversations is sufficiently limited in size(e.g., small enough), and advice conversations 416A and 416B may bepresented to professional 104. Each advice conversation 416A and 416Bincludes an advice statement 418. Advice engine 102 may suggest anadvice statement (advice statement 418B in this example) to professional104. Further, in this example, professional 104 edits conversation tree400 by adding an additional advice conversation 416C including advicestatement 418C.

FIG. 5 depicts a system 500 including various modules. Morespecifically, system 500 includes a user data collection module 502, atopic generator module 504, an advice generator module 506, an adviceediting module 508, a rating module 510, an advice suggestion module512, and an editing suggestion module 514. It is noted that system 500is not limited to the specific configuration shown in FIG. 5. Rather,any module may be coupled to any other module, either directly orindirectly (e.g., via another module).

Depending on a topic, a user (e.g., user 106 of FIG. 1) may providedata, such as age, geographic location, income, etc., to user datacollection module 502.

In some embodiments in which users may trust reviews from a relativelylarge number of people, topic generator module 504 may, for example, usedata (e.g., crowdsourced data) to generate advice topics. For example,topics, such as financial topics (e.g., advice on buying a car, adviceon banks to get a loan, etc.), family-related topics (e.g., choosing apet, shopping, etc.), travel topics (e.g., vacation spots, how to dealwith online travel websites, etc.), work and/or educational topics(e.g., how to deal with a coworker), may be considered topics whereintopic generator module 504 may use crowdsourced data.

In some embodiments, at least a portion of a conversation tree (e.g., aseed tree) may be generated by a professional and/or a crowd, whereintarget users of each conversation tree may be specified by theprofessional and/or the crowd. More specifically, with reference to aconversation tree 600 illustrated in FIG. 6, in one embodiment, a topic602, which may be generated via topic generator module 504, may beselected. Further, advice generator module 506, using data from crowdsand/or professionals, may generate finite trees (e.g., conversation tree600) for a topic, wherein each tree may provide advice to a user. Inaddition to topic 602, conversation tree 600 includes adviceconversations 604, advice statements 606, and user responses 608. In oneembodiment, a professional and/or a crowd may identify a target user fora proposed conversation tree. Stated another way, the professionaland/or the crowd may identify a type of user that would likely benefitfrom the advice provided in a conversation tree. According to oneembodiment, if an amount of crowdsource data reaches a threshold amount,use of a human professional may be decreased and possibly phased outentirely.

Advice editing module 508 (FIG. 5) may be configured to assist ingenerating (e.g., growing) a conversation tree. After a user selects atopic, advice editing module 508 may present all advice conversations toa professional. For example, with reference to conversation tree 700Aillustrated in FIG. 7A, advice conversations 704 for topic 702 may bepresented to a professional via advice editing module 508.

Further, a professional may edit advice conversations, if necessary. Oneor more operations associated with editing an advice conversation may beperformed via, for example, editing suggestion module 515 (FIG. 5). Asillustrated in FIG. 7B, conversation tree 700B, which is an editedversion of conversation tree 700A, includes edits made by aprofessional. More specifically, conversation tree 700B includesadditional advice conversations 704B. In addition, an advice statement706A has been replaced by advice statement 706B.

It is noted that each time a user selects an answer (a response), anadvice conversation may be presented to the user. For example, assuminga user selects node b, as depicted in FIG. 7B, advice conversations704C, as illustrated in FIG. 7C, may be presented to the user.

It is further noted that if a set of advice conversations is notsufficiently limited (e.g., the set is too large), a professional mayedits the conversation (e.g., offline). Further, in some embodiments,the edits may not be made in real-time. In this example, processing byadvice editing module 508 (FIG. 5) may be offline.

As described herein, a user may provide a rating for each adviceconversation that was provided to the user. According to variousembodiments, a rating may be defined for each advice statement node. Oneor more operations associated with rating an advice conversation may beperformed via rating module 510 (FIG. 5). In one embodiment, a ratingfor each advice statement may be an average of ratings of all adviceconversations originating from that advice statement. It is noted thatthe term “advice statement” may also be referred to herein as an “advicenode.”

FIG. 8A depicts a conversation tree 800 including advice nodes 1-6, anduser response nodes a, b, k, l, m, n, and o. As illustrated, advice node1 includes eight (8) associated conversation paths: a path from node 1to node K (p_((1,1))=(1,b,3,k)), a path from node 1 to node l(p_((1,2))=(1,b,3,l)), a path from node 1 to node m(p_((1,3))=(1,b,4,m)), a path from node 1 to node n(p_((1,4))=(1,b,4,n)), a path from node 1 to node o(p_((1,5))=(1,c,5,o)), and so on. It is noted that, for “p_((X,Y))”, Xrepresents the node number and Y represents the path number.

A rating r_(m) for advice node 1 (advice statement 1) may be provided bythe following equation:r _(m)(1)=sum(r _(p(1,1)) +r _(p(1,2)) +r _(p(1,3)) +r _(p(1,4)) +r_(p(1,5)) + . . . +r _(p(1,8)))/N ₁;  (1)wherein N₁ is the number of paths originated from node 1, which in thisexample, is eight (8).

As another example, for advice node 4 (advice statement 4),p_((4,1))=(4,m), p_((4,2))=(4,n), and a rating r_(m) for advice node 4may be provided by the following equation:r _(m)(4)=sum(r _(p(4,1)) +r _(p(4,2)))/N ₄;  (2)wherein N₄ is the number of paths originated from node 4, which in thisexample, is two (2).

Rating r_(p), which is the rating provided by a user for the associatedadvice conversation path, may be based on one or more factors. Forexample, rating r_(p) may be an average rating of an effectivenessrating r₁ of the advice conversation path, an efficiency rating r₂ ofthe advice conversation path, and/or a user satisfaction rating r₃ ofthe advice conversation path.

Initially, rating r_(p) may be set equal to a highest rating (e.g., 5),and after a user begins to rate the paths, rating r_(p) may be adjustedto indicate an average of the user ratings. As noted above, aprofessional may edit one or more advice conversations of an advicetree, and thus rating for one or more advice nodes may change dependingon the edits.

With reference to FIG. 8B, if a professional has added node 3 and noded, and has replaced node 4. Initially, all advice conversationsoriginating from node 3 have the highest value (e.g., 5). A rating foradvice node 3 (r_(m)(3)) is=ω*5, wherein ω a 1/S and S is the number ofratings associated to the paths that originated from nodes with the sameparent (e.g., nodes 1 and 2 for node 3; nodes b and c for node d). Thesame process is repeated for nodes d. Based on the new rating, therating for all parent advice nodes may change. According to variousembodiments, a professional's effect on advice may be reduced dependingon a number of reviews provided by users.

It is noted that an initial value of ω may be considered to be, forexample, one. Further, a threshold value for S may exist, and uponreaching the threshold value, the value of ω may decrease depending onthe value of S.

In one example, as illustrated in FIG. 8C, a professional has editednode 4. In this example, ratings for the advice conversationsoriginating from node 4 may be multiplied by a value ρ where ρ>1, ρ α1/S, and S is the number of reviews provided for paths originating fromnode 4. A threshold value for S may be considered, after which the valueof ρ decreases depending on the value of S.

FIG. 9 is a flowchart of an example method 900 for suggesting an advicestatement, in accordance with at least one embodiment of the presentdisclosure. Method 900 may be performed by any suitable system,apparatus, or device. For example, advice engine 102 of FIG. 1 or one ormore of the components thereof (e.g., advice suggestion module 512 ofFIG. 5) may perform one or more of the operations associated with method900. In these and other embodiments, program instructions stored on acomputer readable medium may be executed to perform one or more of theoperations of method 900.

At block 902, a determination may be made as to whether any user data isavailable. If it is determined that user data is available, method 900may proceed to block 904. If it is determined that user data is notavailable, method 900 may proceed to block 906.

At block 904, one or more recommendation algorithms to determine one ormore optimal advice statements may be selected, and method 900 mayproceed to block 908. For example, collaborative filtering may be usedto identify similar users, and recommendations may be based onpreferences of similar users.

At block 906, one or more advice statements having the highest ratingmay be selected, and method 900 may proceed to block 908. At block 908,if more than one advice statements is available, one advice statementsmay be randomly selected, and method 900 may proceed to block 910. Atblock 910, the selected advice statements may presented to aprofessional (e.g., professional 104 of FIG. 1), and method 900 mayreturn to block 902.

Modifications, additions, or omissions may be made to method 900 withoutdeparting from the scope of the present disclosure. For example, theoperations of method 900 may be implemented in differing order.Furthermore, the outlined operations and actions are only provided asexamples, and some of the operations and actions may be optional,combined into fewer operations and actions, or expanded into additionaloperations and actions without detracting from the essence of thedisclosed embodiments.

FIG. 10 illustrates another example advice conversation tree 1000including a topic 1002 of “Hey! I need help with choosing a car to buy”.Advice conversation tree 400 further includes an advice statement 1006,which is presented to a user. Further, the user provides a response1008.

Based on the response by the user, additional advice statements 1010A,1010B, and 1010C may be considered. In one example, although the advicenode associated with advice statement 1010A has the highest rating, anadvice engine (e.g., specifically advice suggestion module 512 of FIG.5) may suggest another advice node (e.g., the advice node associatedwith advice statement 1010B based on the data previously collected fromthe user. More specifically, for example, previously received data(e.g., received at the advice engine) concerning the user may indicatethat the user does not live in a city, and, therefore, advice statement1010A is likely not the best advice statement to be provided to theuser.

According to one embodiment, advice engine 102 (see FIG. 1) may beconfigured to review ratings of one or more advice nodes. In oneembodiment, if the rating of an advice node is, for example, belowaverage, or has not improved despite an increase in a number of ratings,advice engine 102, and more specifically, editing suggestion module 514may suggest that professional 102 review, and possibly edit the advicenode.

FIG. 11 is a block diagram of an example computing device 1100, inaccordance with at least one embodiment of the present disclosure. Forexample, advice engine 102 of FIG. 1 may be implemented as computingdevice 1100. Computing device 1100 may include a desktop computer, alaptop computer, a server computer, a tablet computer, a mobile phone, asmartphone, a personal digital assistant (PDA), an e-reader device, anetwork switch, a network router, a network hub, other networkingdevices, or other suitable computing device.

Computing device 1100 may include a processor 1110, a storage device1120, a memory 1130, and a communication device 1140. Processor 1110,storage device 1120, memory 1130, and/or communication device 1140 mayall be communicatively coupled such that each of the components maycommunicate with the other components. Computing device 1100 may performany of the operations described in the present disclosure.

In general, processor 1110 may include any suitable special-purpose orgeneral-purpose computer, computing entity, or processing deviceincluding various computer hardware or software modules and may beconfigured to execute instructions stored on any applicablecomputer-readable storage media. For example, processor 1110 may includea microprocessor, a microcontroller, a digital signal processor (DSP),an application-specific integrated circuit (ASIC), a Field-ProgrammableGate Array (FPGA), or any other digital or analog circuitry configuredto interpret and/or to execute program instructions and/or to processdata. Although illustrated as a single processor in FIG. 11, processor1110 may include any number of processors configured to perform,individually or collectively, any number of operations described in thepresent disclosure.

In some embodiments, processor 1110 may interpret and/or execute programinstructions and/or process data stored in storage device 1120, memory1130, or storage device 1120 and memory 1130. In some embodiments,processor 1110 may fetch program instructions from storage device 1120and load the program instructions in memory 1130. After the programinstructions are loaded into memory 1130, processor 1110 may execute theprogram instructions.

For example, in some embodiments one or more of the processingoperations of an advice engine may be included in data storage 1120 asprogram instructions. Processor 1110 may fetch the program instructionsof one or more of the processing operations and may load the programinstructions of the processing operations in memory 1130. After theprogram instructions of the processing operations are loaded into memory1130, processor 1110 may execute the program instructions such thatcomputing device 1100 may implement the operations associated with theprocessing operations as directed by the program instructions.

Storage device 1120 and memory 1130 may include computer-readablestorage media for carrying or having computer-executable instructions ordata structures stored thereon. Such computer-readable storage media mayinclude any available media that may be accessed by a general-purpose orspecial-purpose computer, such as processor 1110. By way of example, andnot limitation, such computer-readable storage media may includetangible or non-transitory computer-readable storage media includingRAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic diskstorage or other magnetic storage devices, flash memory devices (e.g.,solid state memory devices), or any other storage medium which may beused to carry or store desired program code in the form ofcomputer-executable instructions or data structures and which may beaccessed by a general-purpose or special-purpose computer. Combinationsof the above may also be included within the scope of computer-readablestorage media. Computer-executable instructions may include, forexample, instructions and data configured to cause the processor 1110 toperform a certain operation or group of operations.

In some embodiments, storage device 1120 and/or memory 1130 may storedata associated with an advice engine. For example, storage device 1120and/or memory 1130 may store user data, topic data, advice conversationsets, crowdsourced data, and/or ratings data.

Communication device 1140 may include any device, system, component, orcollection of components configured to allow or facilitate communicationbetween computing device 1100 and another electronic device. Forexample, communication device 1140 may include, without limitation, amodem, a network card (wireless or wired), an infrared communicationdevice, an optical communication device, a wireless communication device(such as an antenna), and/or chipset (such as a Bluetooth device, an802.6 device (e.g. Metropolitan Area Network (MAN)), a Wi-Fi device, aWiMAX device, cellular communication facilities, etc.), and/or the like.Communication device 1140 may permit data to be exchanged with anynetwork such as a cellular network, a Wi-Fi network, a MAN, an opticalnetwork, etc., to name a few examples, and/or any other devicesdescribed in the present disclosure, including remote devices.

Modifications, additions, or omissions may be made to FIG. 11 withoutdeparting from the scope of the present disclosure. For example,computing device 1100 may include more or fewer elements than thoseillustrated and described in the present disclosure. For example,computing device 1100 may include an integrated display device such as ascreen of a tablet or mobile phone or may include an external monitor, aprojector, a television, or other suitable display device that may beseparate from and communicatively coupled to computing device 1100.

As used in the present disclosure, the terms “module” or “component” mayrefer to specific hardware implementations configured to perform theactions of the module or component and/or software objects or softwareroutines that may be stored on and/or executed by general purposehardware (e.g., computer-readable media, processing devices, etc.) ofthe computing system. In some embodiments, the different components,modules, engines, and services described in the present disclosure maybe implemented as objects or processes that execute on the computingsystem (e.g., as separate threads). While some of the system and methodsdescribed in the present disclosure are generally described as beingimplemented in software (stored on and/or executed by general purposehardware), specific hardware implementations or a combination ofsoftware and specific hardware implementations are also possible andcontemplated. In the present disclosure, a “computing entity” may be anycomputing system as previously defined in the present disclosure, or anymodule or combination of modulates running on a computing system.

Terms used in the present disclosure and especially in the appendedclaims (e.g., bodies of the appended claims) are generally intended as“open” terms (e.g., the term “including” should be interpreted as“including, but not limited to,” the term “having” should be interpretedas “having at least,” the term “includes” should be interpreted as“includes, but is not limited to,” etc.).

Additionally, if a specific number of an introduced claim recitation isintended, such an intent will be explicitly recited in the claim, and inthe absence of such recitation no such intent is present. For example,as an aid to understanding, the following appended claims may containusage of the introductory phrases “at least one” and “one or more” tointroduce claim recitations. However, the use of such phrases should notbe construed to imply that the introduction of a claim recitation by theindefinite articles “a” or “an” limits any particular claim containingsuch introduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations.

In addition, even if a specific number of an introduced claim recitationis explicitly recited, those skilled in the art will recognize that suchrecitation should be interpreted to mean at least the recited number(e.g., the bare recitation of “two recitations,” without othermodifiers, means at least two recitations, or two or more recitations).Furthermore, in those instances where a convention analogous to “atleast one of A, B, and C, etc.” or “one or more of A, B, and C, etc.” isused, in general such a construction is intended to include A alone, Balone, C alone, A and B together, A and C together, B and C together, orA, B, and C together, etc.

Further, any disjunctive word or phrase presenting two or morealternative terms, whether in the description, claims, or drawings,should be understood to contemplate the possibilities of including oneof the terms, either of the terms, or both terms. For example, thephrase “A or B” should be understood to include the possibilities of “A”or “B” or “A and B.”

All examples and conditional language recited in the present disclosureare intended for pedagogical objects to aid the reader in understandingthe invention and the concepts contributed by the inventor to furtheringthe art, and are to be construed as being without limitation to suchspecifically recited examples and conditions. Although embodiments ofthe present disclosure have been described in detail, various changes,substitutions, and alterations could be made hereto without departingfrom the spirit and scope of the present disclosure.

What is claimed is:
 1. A method of providing advice to a user,comprising: receiving a topic from the user; storing data related to thetopic at a server; retrieving, from the server, one or more potentialadvice conversations based on the topic provided by the user whereineach potential advice conversation of the one or more potential adviceconversations includes one or more advice statements; selecting anadvice statement from the one or more advice statements based on a firstrating of the selected advice statement being higher than a secondrating of another advice statement of the one or more advice statements,wherein the selected advice statement includes one or more pathsoriginating therefrom, each of the one or more paths includes advice,the first rating of the selected advice statement is based on a pathrating of each path of the one or more paths, and the path rating ofeach path of the one or more paths is based on an effectiveness ratingof the advice included in the corresponding path, an efficiency ratingof the corresponding path, and a user satisfaction rating of thecorresponding path; and presenting the selected advice statement to theuser upon receiving real-time approval of the selected advice statementfrom a human professional.
 2. The method of claim 1, further comprisingreceiving and storing user data provided by the user, wherein theselecting of the selected advice statement is further based on the userdata.
 3. The method of claim 1, further comprising: dynamically editingat least one potential advice conversation of the one or more potentialadvice conversations based on feedback from the human professional;setting a rating of one or more advice statements of the editedpotential advice conversation to a highest possible rating; andresetting a feedback counter of one or more advice statements of theedited potential advice conversation.
 4. The method of claim 1, furthercomprising updating the first rating of the selected advice statementbased on feedback from the user.
 5. The method of claim 1, furthercomprising updating the first rating of the selected advice statementbased on at least one of: feedback from one or more other users and atleast one edit of the one or more potential advice conversations basedon feedback from the human professional.
 6. The method of claim 1,further comprising editing another advice statement of the one or moreadvice statements based on a rating of the edited advice statement beinglower than the second rating of the other advice statement.
 7. Themethod of claim 1, wherein the first rating of the selected advicestatement is calculated according to the following equation:r _(m)(X)=sum(r _(p(X,A)) +r _(p(X,B)) +r _(p(X,C)) +r _(p(X,D)) +r_(p(X,E)) + . . . +r _(p(X,N)))/N ₁; wherein r_(m) represents the firstrating, X represents the selected advice statement, r_(p) represents apath rating, A, B, C, D, E . . . N each represent a path originatingfrom the selected advice statement, and N_(x) is the number of pathsoriginating from the selected advice statement.
 8. The method of claim1, wherein the path rating of each path of the one or more paths iscalculated according to the following equation:r _(p)(X,K)=r ₁ +r ₂ +r ₃; wherein r_(p) represents a path rating, Xrepresents the selected advice statement, K represents a correspondingpath originating from the selected advice statement, r₁ represents aneffectiveness rating of advice provided by the corresponding path, r₂represents the efficiency rating of the corresponding path, and r₃represents the user satisfaction rating of the corresponding path. 9.The method of claim 1, wherein selecting an advice statement from theone or more advice statements is based on the first rating of theselected advice statement being higher than a rating of each of theother advice statements.
 10. The method of claim 1, further comprisingselecting another, different advice statement from the one or moreadvice statements upon not receiving approval of the selected advicestatement from the human professional.
 11. One or more non-transitorycomputer-readable media that include instructions that, when executed byone or more processors, are configured to cause the one or moreprocessors to perform operations, the operations comprising: receiving atopic from a user; storing data related to the topic at a server;retrieving, from the server, one or more potential advice conversationsbased on the topic provided by the user wherein each potential adviceconversation of the one or more potential advice conversations includesone or more advice statements; selecting an advice statement from theone or more advice statements based on a first rating of the selectedadvice statement being higher than a second rating of another advicestatement of the one or more advice statements, wherein the selectedadvice statement includes one or more paths originating therefrom, eachof the one or more paths including advice, the first rating of theselected advice statement is based on a path rating of each path of theone or more paths, and the path rating of each path of the one or morepaths is based on one or more of an effectiveness rating of the adviceincluded in the corresponding path, an efficiency rating of thecorresponding path, and a user satisfaction rating of the correspondingpath; and presenting the selected advice statement to the user uponreceiving real-time approval of the selected advice statement from ahuman professional.
 12. The computer-readable media of claim 11, theoperations further comprising: dynamically editing at least onepotential advice conversation of the one or more potential adviceconversations based on feedback from the human professional; setting arating of one or more advice statements of the edited potential adviceconversation to a highest possible rating; and resetting a feedbackcounter of one or more advice statements of the edited potential adviceconversation.
 13. The computer-readable media of claim 11, furthercomprising updating the first rating of the selected advice statementbased on feedback from the user.
 14. The computer-readable media ofclaim 13, wherein the first rating assigned to the selected advicestatement is based on a sum of ratings for each path originating fromthe selected advice statement.
 15. The computer-readable media of claim11, wherein selecting the selected advice statement from the one or moreadvice statements is based on the first rating of the selected advicestatement exceeding a rating of each of the one or more advicestatements.
 16. The computer-readable media of claim 11, the operationsfurther comprising selecting another, different advice statement fromthe one or more advice statements in response to the human professionalnot approving the selected advice statement.
 17. A system of providingadvice to a user, comprising: one or more processors configured to:receive a topic from the user; store data related to the topic at aserver; retrieve, from the server, one or more potential adviceconversations based on the topic provided by the user wherein eachpotential advice conversation of the one or more potential adviceconversations includes one or more advice statements; select an advicestatement from the one or more advice statements based on a first ratingof the selected advice statement being higher than a second rating ofanother advice statement of the one or more advice statements, whereinthe selected advice statement includes one or more paths originatingtherefrom, each of the one or more paths includes advice, the firstrating of the selected advice statement is based on a path rating ofeach path of the one or more paths, and the path rating of each path ofthe one or more paths is based on an effectiveness rating of the adviceincluded in the path, an efficiency rating of the path, and a usersatisfaction rating of the path; and present the selected advicestatement to the user upon receiving real-time approval of the selectedadvice statement from a human professional.
 18. The system of claim 17,the one or more processors further configured to: receive user data fromthe user; and select the selected advice statement based on the userdata.
 19. The system of claim 17, the one or more processors furtherconfigured to: dynamically edit at least one potential adviceconversation of the one or more potential advice conversations based onfeedback from the human professional; set a rating of one or more advicestatements of the edited potential advice conversation to a highestpossible rating; and reset a feedback counter of one or more advicestatements of the edited potential advice conversation.
 20. The systemof claim 17, the one or more processors further configured to update thefirst rating of the selected advice statement based on feedback from theuser.